package com.rc.mutievcharger.dto.ylevcharger.terminal;

import com.rc.evcharger.common.annotation.ByteLength;
import com.rc.evcharger.common.base.yl.BaseYlCommand;

import java.math.BigDecimal;

/**
 * 参数地址列表 1
 * 参数地址 字段定义
 * 长度（字
 * 节） 说明
 * 1 签到时间间隔 4 按照分钟为单位（默认 30 分）
 * 2 充电桩项目类型 4 内部参数，一般用于查询
 * 3 充电枪个数 4 内部参数，一般用于查询
 * 4 通道号 4 内部参数，一般用于查询
 * 5 最高充电电压 4
 * 6 最大充电电流 4
 * 7
 * 读卡器类型 4 1:MT622
 * 2:ID 读卡器
 * 硬件决定的，运营的后台不需要设
 * 置或查询此项
 * 8
 * 读卡器波特率 4 硬件决定的，运营的后台不需要设
 * 置或查询此项
 * 9 充电卡片协议编号 4
 * 10 后台验证 4 0-不验证 1-验证
 * 11 车牌验证 4 0-不验证 1-验证
 * 12 车卡 VIN 绑定 4 0-不绑定 1-绑定
 * 13 BMS 单体保护电压 4
 * 14 BMS 充电保护温度 4
 * 15 调试地址 1 4 0 保持不变
 * 16 调试地址 2 4 0 保持不变
 * 17 调试地址 3 4 0 保持不变
 * 18 调试地址 4 4 0 保持不变
 * 19 调试地址 5 4 0 保持不变
 * 20
 * 定时上报间隔 4 上报模式，定时上报的间隔
 * 单位：秒；缺省：15 秒
 * 21 心跳上报周期 4 0 保持不变 缺省=3 秒
 * 22 心跳包检测超时次数 4 0 保持不变 缺省=3 秒
 * 23 充电桩状态信息报上报周期 4 0 保持不变 缺省=3 秒
 * 24
 * 通信模式 4 1：应答模式
 * 2：主动上报模式
 * 25* 中心服务器地址 4 按照字节顺序 注 3)
 * 26* 中心服务器端口 4 低字节在前 注 4)
 * 27 服务费价格 4
 * 28 全时段电费费率 4
 * 29 广告灯开启起始小时 4
 * 30 广告灯开启起始分钟 4
 * 31 广告灯关闭起始小时 4
 * 32 广告灯关闭起始分钟 4
 * 33 调试控制地址 4 内部调试用，运营平台不需实现
 * 34 调试控制数据 4 要与调试控制地址一起发送
 * 35 过压值 4 放大 10 倍
 * 36 欠压值 4 放大 10 倍
 * 37 过流值 4 放大 10 倍
 * 39 辅源类型 4 1-12V 2-24V
 * 40 充电枪类型 4
 * Create by Yang on 2022/5/22
 * (CMD=1)后台服务器下发充电桩参数设置命令
 */
public class YlWorkSettingCommandResp extends BaseYlCommand {

    @ByteLength(length = 2)
    private String obligate1; //预留字段1
    @ByteLength(length = 2)
    private String obligate2; //预留字段1
    @ByteLength(length = 1)
    private String paramType; //类型 0查询 1设置
    @ByteLength(length = 4)
    private String paramAddress; //设置/查询参数 启始地址
    @ByteLength(length = 1)
    private String paramCount; //设置/查询个数
    @ByteLength(length = 1)
    private String paramByteCount; //设置参数字节数
    @ByteLength(length = 0)
    private String data; //设置数据 当类型为设置时才有此字段


    public String getObligate1() {
        return obligate1;
    }

    public void setObligate1(String obligate1) {
        this.obligate1 = obligate1;
    }

    public String getObligate2() {
        return obligate2;
    }

    public void setObligate2(String obligate2) {
        this.obligate2 = obligate2;
    }

    public String getParamType() {
        return paramType;
    }

    public void setParamType(String paramType) {
        this.paramType = paramType;
    }

    public String getParamAddress() {
        return paramAddress;
    }

    public void setParamAddress(String paramAddress) {
        this.paramAddress = paramAddress;
    }

    public String getParamCount() {
        return paramCount;
    }

    public void setParamCount(String paramCount) {
        this.paramCount = paramCount;
    }

    public String getParamByteCount() {
        return paramByteCount;
    }

    public void setParamByteCount(String paramByteCount) {
        this.paramByteCount = paramByteCount;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }
}
